package com.ruoyi.whole.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.whole.domain.DmsDealerWholePurchase;
import com.ruoyi.whole.domain.vo.DmsDealerWholePurchaseVo;

import java.util.List;

/**
 * 车辆采购Service接口
 * 
 * @author liuchuanfa
 * @date 2024-03-04
 */
public interface IDmsDealerWholePurchaseService extends IService<DmsDealerWholePurchase>
{
    /**
     * 查询车辆采购
     * 
     * @param id 车辆采购主键
     * @return 车辆采购
     */
    public DmsDealerWholePurchaseVo selectDmsDealerWholePurchaseById(Long id);


    /**
     * 根据id查询采购订单信息（后端自用
     *
     * @param id
     * @return {@link DmsDealerWholePurchase }
     * @author liuchuanfa
     * @since 2024/03/08
     */
    public DmsDealerWholePurchase getDmsDealerWholePurchaseById(Long id);

    /**
     * 查询车辆采购列表
     * 
     * @param dmsDealerWholePurchase 车辆采购
     * @return 车辆采购集合
     */
    public List<DmsDealerWholePurchase> selectDmsDealerWholePurchaseList(DmsDealerWholePurchase dmsDealerWholePurchase);

    /**
     * 新增车辆采购
     * 
     * @param dmsDealerWholePurchase 车辆采购
     * @return 结果
     */
    public int insertDmsDealerWholePurchase(DmsDealerWholePurchase dmsDealerWholePurchase);

    /**
     * 修改车辆采购
     * 
     * @param dmsDealerWholePurchase 车辆采购
     * @return 结果
     */
    public int updateDmsDealerWholePurchase(DmsDealerWholePurchase dmsDealerWholePurchase);

    /**
     * 批量删除车辆采购
     * 
     * @param ids 需要删除的车辆采购主键集合
     * @return 结果
     */
    public int deleteDmsDealerWholePurchaseByIds(Long[] ids);

    /**
     * 删除车辆采购信息
     * 
     * @param id 车辆采购主键
     * @return 结果
     */
    public int deleteDmsDealerWholePurchaseById(Long id);

    /**
     * 采购车辆订单扣款
     *
     * @param dmsDealerWholePurchase 车辆采购
     * @return 结果
     */
    public int purchaseDeduct(DmsDealerWholePurchase dmsDealerWholePurchase);
}
